iT邦幫忙

2021 iThome 鐵人賽

DAY 23
0

昨天提到Flutter最常用的網路函數庫有HttpClient和http函數庫,但其實還有一種叫做dio函數庫,它支援上傳/下載檔案、請求認證、憑證驗證、Cookie管理、FormData、請求/取消、攔截器、Restful API、超時、定義介面卡等等操作。

(一)安裝依賴
使用dio庫前需要先安裝依賴,使用前可以到https://pub.dev/packages/dion 搜尋dio確定版本,再來就可以創建dio庫。
https://ithelp.ithome.com.tw/upload/images/20211005/20140524DgqHfFAT5f.png

(二)基本用法
•get請求:取得一個網址並列印出來。
https://ithelp.ithome.com.tw/upload/images/20211005/20140524mnOGZ4dLv2.png
•post請求:
https://ithelp.ithome.com.tw/upload/images/20211005/201405241asRdgtjiZ.png
•下載文件:
https://ithelp.ithome.com.tw/upload/images/20211005/20140524rWEnajpUSC.png

(三) dio攔截器
在dio中我們利用interceptors添加攔截器,再透過dio.interceptors.add( )方法添加不同的攔截器,攔截器柱列的執行順序是依照先進先出原則(FIFO)。
https://ithelp.ithome.com.tw/upload/images/20211005/20140524Rr6lYTK5K0.png

(四) dio介面卡
內建的介面卡可以切換到別的請求庫並且不用改程式碼,還可以訂製底層網路函數庫。

今天介紹到這邊,相信大家都對dio函數庫更加了解,其實dio庫是個非常強大的網路請求函數庫,未來如果有機會希望大家可以操作看看,明天將會介紹非同步程式設計,敬請期待。

參考資料
橫跨Android及Apple的神話:用Dart語言神啟Flutter大業6.4節
https://www.namepluto.com/flutter-http-post%e8%ab%8b%e6%b1%82%e6%8f%90%e4%ba%a4%e8%a1%a8%e5%96%ae%e8%b3%87%e6%96%99/
https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/646229/#outline__2
https://pub.dev/packages/dio
https://harmonyos.51cto.com/posts/2624
https://iter01.com/613793.html


上一篇
Day 22網路程式設計
下一篇
Day 24非同步程式設計
系列文
一起學Flutter,和我變Better!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言